#include "CommandBase.h"
#include "Subsystems/Breach.h"
#include "Subsystems/Climbing.h"
#include "Subsystems/DiscMagnet.h"
#include "Subsystems/DiscHandling.h"
#include "Subsystems/Drivetrain.h"
#include "Subsystems/Shooter.h"
#include "Subsystems/ShooterAngle.h"
#include "Commands/Scheduler.h"

CommandBase::CommandBase(const char *name) : Command(name) {
}

CommandBase::CommandBase() : Command() {
}

// Initialize a single static instance of all of your subsystems to NULL
Breach* CommandBase::breach;
Climbing* CommandBase::climbing;
DiscMagnet* CommandBase::discMagnet;
DiscHandling* CommandBase::discHandling;
Drivetrain* CommandBase::drivetrain;
Shooter* CommandBase::shooter;
ShooterAngle* CommandBase::shooterAngle;
DashboardClient* CommandBase::client;
OI* CommandBase::oi;
 
void CommandBase::init() {
    // Create a single static instance of all of your subsystems. The following
	// line should be repeated for each subsystem in the project.

	breach = new Breach();
	drivetrain = new Drivetrain();
	climbing = new Climbing();
	discMagnet = new DiscMagnet();
	discHandling = new DiscHandling();
	shooter = new Shooter();
	shooterAngle = new ShooterAngle();
	oi = new OI();
	client = new DashboardClient();
}

